草庐IT

java - JAXB @XmlElements 命令

全部标签

java - XML 到域对象转换器的 XPath 替代品

我们的Java应用程序从许多外部系统接收XML消息,我们希望从这些系统创建域对象。我们没有这些文档的架构。目前我们正在使用XPath从XML中提取字符串,然后在新域对象上调用setter。我们使用自制的XmlUtils类来执行此操作。foo.setBar(XmlUtils.number("/bar",document));有哪些基于Java的替代方法不需要访问文档的架构? 最佳答案 注意:我是EclipseLinkJAXB(MOXy)领导,以及JAXB2.X(JSR-222)专家组的成员。MOXy提供了@XmlPath扩展,使您能够

java - XStream:将部分 XML 保留为 XML

我有以下XML:Mr.SickConclusiontext...我想将其转换为类Patient的实例,如下所示:ClassPatient{Stringname="Mr.Sick";Stringreport="Conclusiontext...";}是否可以使用XStream只转换部分XML并保持报告字段为XML格式?怎么做到的? 最佳答案 我通过创建一个Convertor实现来解决它,如解释的那样here.我的问题解决方案如下:患者.javapublicclassPatient{Stringname;Reportreport;}报表

java - 我需要手动关闭输入流吗?

我正在使用Xerces库来解析XML。下面是解析的代码片段:Documentdoc=builder.parse(newInputSource(newStringReader(someXMLString)));我需要手动关闭InputSource中的InputStream还是parse方法会处理它? 最佳答案 鉴于您没有外部资源-只有一个StringReader-您不需要关闭它。不过我还是会这样做……这样一来,如果您更改代码以使用不同的输入,就不会意外地发生资源泄漏。(对于一次性代码,我会保留它-但请注意,如果您不小心,一次性代码的生

java - ElementNSImpl 到字符串

我有一个调用网络服务的客户端,我正在返回一个ElementNSImpl对象。是否可以将此对象转换为字符串?对于org.w3c.dom.Document对象,我使用了这样的代码:protectedstaticStringdocumentToString(finalDocumentdoc){//outputsaDOMstructuretoplainStringtry{StringWritersw=newStringWriter();TransformerFactorytf=TransformerFactory.newInstance();Transformertransformer=tf.

java - 无法计算 XPath 中的表达式

我使用XPath来解析URL返回的XML文档,当我使用给定的输入运行我的代码时,它可以工作,但是当它作为用户输入提供输入时,它会抛出异常。代码:class{privateStringgeneralQuery="//@*";method(){System.out.println("EnterURL");url=scan.nextLine();URLoracle=newURL(url);InputStreamis=oracle.openStream();org.w3c.dom.Documentdoc=null;DocumentBuilderFactorydomFactory;Documen

java - 用于任意 XML 的 JAXB @XmlAdapter

我有一个org.w3c.dom.Element,我从我的XmlAdapter返回一个自定义@XmlElement并且我'我想将它作为任意XML的JAXB对象的一部分包含在内(我知道我必须手工制作XSD)。但是,JAXB提示org.w3c.dom.Elementisaninterface,andJAXBcan'thandleinterfaces.显然w3cXML类型是notsupportedasJavatypes,这是一种耻辱。但除此之外,当我使用显然受支持的javax.xml.transform.Result时,我遇到了同样的错误。如何在JAXB中包含任意XML元素作为元素?注意:根据

xml - 在 shell 脚本中使用 sed 命令在 XML 文件中添加 XML 元素

我正在使用sed命令将xml元素插入到现有的xml文件中。我有xml文件作为john123mike234我想添加新的元素作为NewNameNewID所以我的新xml文件将是john123mike234NewNameNewID为此,我将shell脚本编写为#!/bin/bashCONTENT="NewNameNewID"#sed-i.bak'//i\"$CONTENT"/root/1.xmlsed-i.bak'//i\'$CONTENT'/'/root/1.xml我得到的错误是sed:can'treadNewName:Nosuchfileordirectorysed:can'treadN

java - 我在 intellij IDEA 中看不到 Jaxb 工具

我要疯了。我想从intellij中的XSD生成jaxb类,但我没有tools/jaxb中的选项或右键单击文件。我读到我需要一个“网络服务”插件,但我没有看到。对不起,如果我的英语不好。提前致谢。 最佳答案 好吧,Intellij的社区版没有这个选项,这就是问题所在:P对于遇到此问题的任何人,您都可以免费使用EclipseJAXB。 关于java-我在intellijIDEA中看不到Jaxb工具,我们在StackOverflow上找到一个类似的问题: https

java - 在 Java 中将元素(org.w3c.dom)转换为字符串

我在将Element对象转换为String时遇到了一个小问题。因为我需要将一个字符串传递给特定的方法。我试过使用.toString()或使用分配给它的String变量。没有一个试验是正确的。我们怎样才能轻松转换,并且字符串对象也应该显示与Element显示的完全相同的XML结构。Elementelement=(Element)xmlList.item(i);上面的“元素”对象以XML格式显示。我想将相同的字符串转换为XML格式 最佳答案 试试这个需要的包:importjavax.xml.transform.Transformer;i

xml - 使用 JAXB 的 bool 属性的 getter

我正在尝试使用jax-ws公开服务,但我得到的第一个惊喜是Weblogic不支持请求/响应对象的内部类。克服这种情况后here,我面临着另一个挑战:生成getXXX()而不是/附加到isXXX()方法。我需要生成此方法,因为当我启动服务时我收到消息:couldnotfindgetterforproperty'IsXXX'oncom.foo.MyClass尝试自定义:没有效果。:(有什么帮助吗? 最佳答案 这在jaxb2.1.13中已得到修复或更好的说法是受支持(有关更多详细信息,请参阅JAXB-131)。升级您的依赖项并配置enab